// SPDX-License-Identifier: GPL-2.0
/dts-v1/;

#include "microAptiv.dtsi"

/ {
	compatible = "digilent,nexys4ddr";

	aliases {
		serial0 = &axi_uart16550;
	};
	chosen {
		bootargs = "console=ttyS0,115200";
		stdout-path = "serial0:115200n8";
	};

	memory {
		device_type = "memory";
		reg = <0x0 0x08000000>;
	};

	cpuintc: interrupt-controller {
		#address-cells = <0>;
		#interrupt-cells = <1>;
		interrupt-controller;
		compatible = "mti,cpu-interrupt-controller";
	};

	axi_intc: interrupt-controller@10200000 {
		#interrupt-cells = <1>;
		compatible = "xlnx,xps-intc-1.00.a";
		interrupt-controller;
		reg = <0x10200000 0x10000>;
		xlnx,kind-of-intr = <0x0>;
		xlnx,num-intr-inputs = <0x6>;

		interrupt-parent = <&cpuintc>;
		interrupts = <6>;
	};

	axi_gpio: gpio@10600000 {
		#gpio-cells = <1>;
		compatible = "xlnx,xps-gpio-1.00.a";
		gpio-controller;
		reg = <0x10600000 0x10000>;
		xlnx,all-inputs = <0x0>;
		xlnx,dout-default = <0x0>;
		xlnx,gpio-width = <0x16>;
		xlnx,interrupt-present = <0x0>;
		xlnx,is-dual = <0x0>;
		xlnx,tri-default = <0xffffffff>;
	} ;

	axi_ethernetlite: ethernet@10e00000 {
		compatible = "xlnx,xps-ethernetlite-3.00.a";
		device_type = "network";
		interrupt-parent = <&axi_intc>;
		interrupts = <1>;
		phy-handle = <&phy0>;
		reg = <0x10e00000 0x10000>;
		xlnx,duplex = <0x1>;
		xlnx,include-global-buffers = <0x1>;
		xlnx,include-internal-loopback = <0x0>;
		xlnx,include-mdio = <0x1>;
		xlnx,instance = "axi_ethernetlite_inst";
		xlnx,rx-ping-pong = <0x1>;
		xlnx,s-axi-id-width = <0x1>;
		xlnx,tx-ping-pong = <0x1>;
		xlnx,use-internal = <0x0>;
		mdio {
			#address-cells = <1>;
			#size-cells = <0>;
			phy0: phy@1 {
				device_type = "ethernet-phy";
				reg = <1>;
			};
		};
	};

	axi_uart16550: serial@10400000 {
		compatible = "ns16550a";
		reg = <0x10400000 0x10000>;

		reg-shift = <2>;
		reg-offset = <0x1000>;

		clocks	= <&ext>;

		interrupt-parent = <&axi_intc>;
		interrupts = <0>;
	};

	axi_i2c: i2c@10A00000 {
	    compatible = "xlnx,xps-iic-2.00.a";
	    interrupt-parent = <&axi_intc>;
	    interrupts = <4>;
	    reg = < 0x10A00000 0x10000 >;
	    clocks = <&ext>;
	    xlnx,clk-freq = <0x5f5e100>;
	    xlnx,family = "Artix7";
	    xlnx,gpo-width = <0x1>;
	    xlnx,iic-freq = <0x186a0>;
	    xlnx,scl-inertial-delay = <0x0>;
	    xlnx,sda-inertial-delay = <0x0>;
	    xlnx,ten-bit-adr = <0x0>;
	    #address-cells = <1>;
	    #size-cells = <0>;

	    ad7420@4B {
		compatible = "adi,adt7420";
		reg = <0x4B>;
	    };
	} ;
};

&ext {
	clock-frequency = <50000000>;
};
